# fmt: off
# flake8: noqa
from pathlib import Path

from maze_solver.models.border import Border
from maze_solver.models.maze import Maze
from maze_solver.models.role import Role
from maze_solver.models.square import Square


def main() -> None:
    build_maze().dump(Path(__file__).with_suffix(".maze"))


def build_maze() -> Maze:
    return Maze(
        squares=(
            Square(index=0, row=0, column=0, border=Border.TOP | Border.LEFT),
            Square(index=1, row=0, column=1, border=Border.TOP | Border.RIGHT),
            Square(index=2, row=0, column=2, border=Border.TOP | Border.LEFT),
            Square(index=3, row=0, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=4, row=0, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=5, row=0, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=6, row=0, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=7, row=0, column=7, border=Border.TOP | Border.BOTTOM),
            Square(index=8, row=0, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=9, row=0, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=10, row=0, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=11, row=0, column=11, border=Border.TOP | Border.BOTTOM),
            Square(index=12, row=0, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=13, row=0, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=14, row=0, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=15, row=0, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=16, row=0, column=16, border=Border.TOP | Border.BOTTOM),
            Square(index=17, row=0, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=18, row=0, column=18, border=Border.TOP | Border.RIGHT),
            Square(index=19, row=0, column=19, border=Border.TOP | Border.LEFT),
            Square(index=20, row=0, column=20, border=Border.TOP | Border.BOTTOM),
            Square(index=21, row=0, column=21, border=Border.TOP | Border.BOTTOM),
            Square(index=22, row=0, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=23, row=0, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=24, row=0, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=25, row=0, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=26, row=0, column=26, border=Border.TOP | Border.BOTTOM),
            Square(index=27, row=0, column=27, border=Border.TOP | Border.RIGHT),
            Square(index=28, row=1, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=29, row=1, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=30, row=1, column=2, border=Border.BOTTOM | Border.LEFT),
            Square(index=31, row=1, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=32, row=1, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=33, row=1, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=34, row=1, column=6, border=Border.TOP | Border.RIGHT),
            Square(index=35, row=1, column=7, border=Border.TOP | Border.LEFT),
            Square(index=36, row=1, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=37, row=1, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=38, row=1, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=39, row=1, column=11, border=Border.TOP | Border.BOTTOM),
            Square(index=40, row=1, column=12, border=Border.TOP | Border.RIGHT),
            Square(index=41, row=1, column=13, border=Border.TOP | Border.LEFT),
            Square(index=42, row=1, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=43, row=1, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=44, row=1, column=16, border=Border.TOP | Border.BOTTOM),
            Square(index=45, row=1, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=46, row=1, column=18, border=Border.BOTTOM | Border.RIGHT),
            Square(index=47, row=1, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=48, row=1, column=20, border=Border.TOP | Border.LEFT),
            Square(index=49, row=1, column=21, border=Border.TOP | Border.BOTTOM),
            Square(index=50, row=1, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=51, row=1, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=52, row=1, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=53, row=1, column=25, border=Border.TOP | Border.RIGHT),
            Square(index=54, row=1, column=26, border=Border.TOP | Border.LEFT),
            Square(index=55, row=1, column=27, border=Border.BOTTOM | Border.RIGHT),
            Square(index=56, row=2, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=57, row=2, column=1, border=Border.BOTTOM | Border.LEFT),
            Square(index=58, row=2, column=2, border=Border.TOP | Border.BOTTOM),
            Square(index=59, row=2, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=60, row=2, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=61, row=2, column=5, border=Border.TOP | Border.RIGHT),
            Square(index=62, row=2, column=6, border=Border.LEFT | Border.RIGHT),
            Square(index=63, row=2, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=64, row=2, column=8, border=Border.TOP | Border.LEFT),
            Square(index=65, row=2, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=66, row=2, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=67, row=2, column=11, border=Border.TOP | Border.RIGHT),
            Square(index=68, row=2, column=12, border=Border.LEFT | Border.RIGHT),
            Square(index=69, row=2, column=13, border=Border.BOTTOM | Border.LEFT),
            Square(index=70, row=2, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=71, row=2, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=72, row=2, column=16, border=Border.TOP | Border.BOTTOM),
            Square(index=73, row=2, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=74, row=2, column=18, border=Border.TOP | Border.RIGHT),
            Square(index=75, row=2, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=76, row=2, column=20, border=Border.LEFT),
            Square(index=77, row=2, column=21, border=Border.TOP | Border.BOTTOM),
            Square(index=78, row=2, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=79, row=2, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=80, row=2, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=81, row=2, column=25, border=Border.BOTTOM | Border.RIGHT),
            Square(index=82, row=2, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=83, row=2, column=27, border=Border.TOP | Border.LEFT | Border.RIGHT),
            Square(index=84, row=3, column=0, border=Border.LEFT),
            Square(index=85, row=3, column=1, border=Border.TOP | Border.BOTTOM),
            Square(index=86, row=3, column=2, border=Border.TOP | Border.BOTTOM),
            Square(index=87, row=3, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=88, row=3, column=4, border=Border.TOP | Border.RIGHT),
            Square(index=89, row=3, column=5, border=Border.LEFT | Border.RIGHT),
            Square(index=90, row=3, column=6, border=Border.LEFT | Border.RIGHT),
            Square(index=91, row=3, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=92, row=3, column=8, border=Border.BOTTOM | Border.LEFT),
            Square(index=93, row=3, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=94, row=3, column=10, border=Border.TOP | Border.RIGHT),
            Square(index=95, row=3, column=11, border=Border.LEFT | Border.RIGHT),
            Square(index=96, row=3, column=12, border=Border.BOTTOM | Border.LEFT),
            Square(index=97, row=3, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=98, row=3, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=99, row=3, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=100, row=3, column=16, border=Border.TOP | Border.BOTTOM),
            Square(index=101, row=3, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=102, row=3, column=18, border=Border.EMPTY),
            Square(index=103, row=3, column=19, border=Border.BOTTOM | Border.RIGHT),
            Square(index=104, row=3, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=105, row=3, column=21, border=Border.TOP | Border.LEFT),
            Square(index=106, row=3, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=107, row=3, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=108, row=3, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=109, row=3, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=110, row=3, column=26, border=Border.BOTTOM | Border.RIGHT),
            Square(index=111, row=3, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=112, row=4, column=0, border=Border.BOTTOM | Border.LEFT),
            Square(index=113, row=4, column=1, border=Border.TOP | Border.BOTTOM),
            Square(index=114, row=4, column=2, border=Border.TOP | Border.BOTTOM),
            Square(index=115, row=4, column=3, border=Border.TOP | Border.RIGHT),
            Square(index=116, row=4, column=4, border=Border.LEFT | Border.RIGHT),
            Square(index=117, row=4, column=5, border=Border.LEFT | Border.RIGHT),
            Square(index=118, row=4, column=6, border=Border.LEFT | Border.RIGHT),
            Square(index=119, row=4, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=120, row=4, column=8, border=Border.TOP | Border.LEFT),
            Square(index=121, row=4, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=122, row=4, column=10, border=Border.BOTTOM | Border.RIGHT),
            Square(index=123, row=4, column=11, border=Border.BOTTOM | Border.LEFT),
            Square(index=124, row=4, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=125, row=4, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=126, row=4, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=127, row=4, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=128, row=4, column=16, border=Border.TOP | Border.BOTTOM),
            Square(index=129, row=4, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=130, row=4, column=18, border=Border.RIGHT),
            Square(index=131, row=4, column=19, border=Border.TOP | Border.LEFT),
            Square(index=132, row=4, column=20, border=Border.RIGHT),
            Square(index=133, row=4, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=134, row=4, column=22, border=Border.TOP | Border.LEFT),
            Square(index=135, row=4, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=136, row=4, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=137, row=4, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=138, row=4, column=26, border=Border.TOP | Border.BOTTOM),
            Square(index=139, row=4, column=27, border=Border.BOTTOM | Border.RIGHT),
            Square(index=140, row=5, column=0, border=Border.TOP | Border.LEFT),
            Square(index=141, row=5, column=1, border=Border.TOP | Border.RIGHT),
            Square(index=142, row=5, column=2, border=Border.TOP | Border.LEFT | Border.RIGHT),
            Square(index=143, row=5, column=3, border=Border.LEFT | Border.RIGHT),
            Square(index=144, row=5, column=4, border=Border.LEFT | Border.RIGHT),
            Square(index=145, row=5, column=5, border=Border.LEFT | Border.RIGHT),
            Square(index=146, row=5, column=6, border=Border.LEFT | Border.RIGHT),
            Square(index=147, row=5, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=148, row=5, column=8, border=Border.BOTTOM | Border.LEFT),
            Square(index=149, row=5, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=150, row=5, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=151, row=5, column=11, border=Border.TOP | Border.BOTTOM),
            Square(index=152, row=5, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=153, row=5, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=154, row=5, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=155, row=5, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=156, row=5, column=16, border=Border.TOP | Border.BOTTOM),
            Square(index=157, row=5, column=17, border=Border.TOP | Border.RIGHT),
            Square(index=158, row=5, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=159, row=5, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=160, row=5, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=161, row=5, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=162, row=5, column=22, border=Border.BOTTOM | Border.LEFT),
            Square(index=163, row=5, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=164, row=5, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=165, row=5, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=166, row=5, column=26, border=Border.TOP | Border.BOTTOM),
            Square(index=167, row=5, column=27, border=Border.TOP | Border.RIGHT),
            Square(index=168, row=6, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=169, row=6, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=170, row=6, column=2, border=Border.LEFT | Border.RIGHT),
            Square(index=171, row=6, column=3, border=Border.LEFT | Border.RIGHT),
            Square(index=172, row=6, column=4, border=Border.LEFT | Border.RIGHT),
            Square(index=173, row=6, column=5, border=Border.LEFT | Border.RIGHT),
            Square(index=174, row=6, column=6, border=Border.LEFT | Border.RIGHT),
            Square(index=175, row=6, column=7, border=Border.BOTTOM | Border.LEFT),
            Square(index=176, row=6, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=177, row=6, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=178, row=6, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=179, row=6, column=11, border=Border.TOP),
            Square(index=180, row=6, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=181, row=6, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=182, row=6, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=183, row=6, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=184, row=6, column=16, border=Border.TOP | Border.RIGHT),
            Square(index=185, row=6, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=186, row=6, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=187, row=6, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=188, row=6, column=20, border=Border.LEFT),
            Square(index=189, row=6, column=21, border=Border.EMPTY),
            Square(index=190, row=6, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=191, row=6, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=192, row=6, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=193, row=6, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=194, row=6, column=26, border=Border.TOP | Border.BOTTOM),
            Square(index=195, row=6, column=27, border=Border.RIGHT),
            Square(index=196, row=7, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=197, row=7, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=198, row=7, column=2, border=Border.LEFT | Border.RIGHT),
            Square(index=199, row=7, column=3, border=Border.LEFT | Border.RIGHT),
            Square(index=200, row=7, column=4, border=Border.LEFT | Border.RIGHT),
            Square(index=201, row=7, column=5, border=Border.LEFT | Border.RIGHT),
            Square(index=202, row=7, column=6, border=Border.LEFT),
            Square(index=203, row=7, column=7, border=Border.TOP | Border.BOTTOM),
            Square(index=204, row=7, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=205, row=7, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=206, row=7, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=207, row=7, column=11, border=Border.BOTTOM),
            Square(index=208, row=7, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=209, row=7, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=210, row=7, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=211, row=7, column=15, border=Border.TOP | Border.RIGHT),
            Square(index=212, row=7, column=16, border=Border.LEFT | Border.RIGHT),
            Square(index=213, row=7, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=214, row=7, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=215, row=7, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=216, row=7, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=217, row=7, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=218, row=7, column=22, border=Border.TOP | Border.LEFT),
            Square(index=219, row=7, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=220, row=7, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=221, row=7, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=222, row=7, column=26, border=Border.TOP | Border.BOTTOM),
            Square(index=223, row=7, column=27, border=Border.BOTTOM | Border.RIGHT),
            Square(index=224, row=8, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=225, row=8, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=226, row=8, column=2, border=Border.LEFT | Border.RIGHT),
            Square(index=227, row=8, column=3, border=Border.LEFT | Border.RIGHT),
            Square(index=228, row=8, column=4, border=Border.LEFT | Border.RIGHT),
            Square(index=229, row=8, column=5, border=Border.LEFT | Border.RIGHT),
            Square(index=230, row=8, column=6, border=Border.BOTTOM | Border.LEFT),
            Square(index=231, row=8, column=7, border=Border.TOP | Border.BOTTOM),
            Square(index=232, row=8, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=233, row=8, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=234, row=8, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=235, row=8, column=11, border=Border.TOP | Border.BOTTOM),
            Square(index=236, row=8, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=237, row=8, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=238, row=8, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=239, row=8, column=15, border=Border.BOTTOM | Border.RIGHT),
            Square(index=240, row=8, column=16, border=Border.LEFT | Border.RIGHT),
            Square(index=241, row=8, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=242, row=8, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=243, row=8, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=244, row=8, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=245, row=8, column=21, border=Border.BOTTOM | Border.LEFT | Border.RIGHT),
            Square(index=246, row=8, column=22, border=Border.BOTTOM | Border.LEFT),
            Square(index=247, row=8, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=248, row=8, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=249, row=8, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=250, row=8, column=26, border=Border.TOP | Border.BOTTOM),
            Square(index=251, row=8, column=27, border=Border.TOP | Border.RIGHT),
            Square(index=252, row=9, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=253, row=9, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=254, row=9, column=2, border=Border.LEFT | Border.RIGHT),
            Square(index=255, row=9, column=3, border=Border.LEFT | Border.RIGHT),
            Square(index=256, row=9, column=4, border=Border.LEFT | Border.RIGHT),
            Square(index=257, row=9, column=5, border=Border.BOTTOM | Border.LEFT),
            Square(index=258, row=9, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=259, row=9, column=7, border=Border.TOP | Border.BOTTOM),
            Square(index=260, row=9, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=261, row=9, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=262, row=9, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=263, row=9, column=11, border=Border.TOP | Border.BOTTOM),
            Square(index=264, row=9, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=265, row=9, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=266, row=9, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=267, row=9, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=268, row=9, column=16, border=Border.BOTTOM | Border.RIGHT),
            Square(index=269, row=9, column=17, border=Border.BOTTOM | Border.LEFT),
            Square(index=270, row=9, column=18, border=Border.BOTTOM | Border.RIGHT),
            Square(index=271, row=9, column=19, border=Border.BOTTOM | Border.LEFT),
            Square(index=272, row=9, column=20, border=Border.BOTTOM),
            Square(index=273, row=9, column=21, border=Border.TOP | Border.BOTTOM),
            Square(index=274, row=9, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=275, row=9, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=276, row=9, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=277, row=9, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=278, row=9, column=26, border=Border.TOP | Border.RIGHT),
            Square(index=279, row=9, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=280, row=10, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=281, row=10, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=282, row=10, column=2, border=Border.LEFT | Border.RIGHT),
            Square(index=283, row=10, column=3, border=Border.LEFT | Border.RIGHT),
            Square(index=284, row=10, column=4, border=Border.BOTTOM | Border.LEFT),
            Square(index=285, row=10, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=286, row=10, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=287, row=10, column=7, border=Border.TOP | Border.RIGHT),
            Square(index=288, row=10, column=8, border=Border.TOP | Border.LEFT),
            Square(index=289, row=10, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=290, row=10, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=291, row=10, column=11, border=Border.TOP | Border.BOTTOM),
            Square(index=292, row=10, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=293, row=10, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=294, row=10, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=295, row=10, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=296, row=10, column=16, border=Border.TOP | Border.BOTTOM),
            Square(index=297, row=10, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=298, row=10, column=18, border=Border.TOP | Border.BOTTOM),
            Square(index=299, row=10, column=19, border=Border.TOP | Border.BOTTOM),
            Square(index=300, row=10, column=20, border=Border.TOP | Border.RIGHT),
            Square(index=301, row=10, column=21, border=Border.TOP | Border.LEFT),
            Square(index=302, row=10, column=22, border=Border.TOP),
            Square(index=303, row=10, column=23, border=Border.TOP | Border.RIGHT),
            Square(index=304, row=10, column=24, border=Border.TOP | Border.LEFT),
            Square(index=305, row=10, column=25, border=Border.TOP | Border.RIGHT),
            Square(index=306, row=10, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=307, row=10, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=308, row=11, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=309, row=11, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=310, row=11, column=2, border=Border.LEFT),
            Square(index=311, row=11, column=3, border=Border.EMPTY),
            Square(index=312, row=11, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=313, row=11, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=314, row=11, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=315, row=11, column=7, border=Border.BOTTOM | Border.RIGHT),
            Square(index=316, row=11, column=8, border=Border.LEFT),
            Square(index=317, row=11, column=9, border=Border.TOP),
            Square(index=318, row=11, column=10, border=Border.TOP),
            Square(index=319, row=11, column=11, border=Border.TOP | Border.BOTTOM),
            Square(index=320, row=11, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=321, row=11, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=322, row=11, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=323, row=11, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=324, row=11, column=16, border=Border.TOP | Border.BOTTOM),
            Square(index=325, row=11, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=326, row=11, column=18, border=Border.TOP | Border.BOTTOM),
            Square(index=327, row=11, column=19, border=Border.TOP | Border.RIGHT),
            Square(index=328, row=11, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=329, row=11, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=330, row=11, column=22, border=Border.LEFT | Border.RIGHT),
            Square(index=331, row=11, column=23, border=Border.LEFT | Border.RIGHT),
            Square(index=332, row=11, column=24, border=Border.LEFT | Border.RIGHT),
            Square(index=333, row=11, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=334, row=11, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=335, row=11, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=336, row=12, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=337, row=12, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=338, row=12, column=2, border=Border.LEFT | Border.RIGHT),
            Square(index=339, row=12, column=3, border=Border.BOTTOM | Border.LEFT),
            Square(index=340, row=12, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=341, row=12, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=342, row=12, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=343, row=12, column=7, border=Border.TOP | Border.RIGHT),
            Square(index=344, row=12, column=8, border=Border.LEFT | Border.RIGHT),
            Square(index=345, row=12, column=9, border=Border.LEFT | Border.RIGHT),
            Square(index=346, row=12, column=10, border=Border.LEFT | Border.RIGHT),
            Square(index=347, row=12, column=11, border=Border.TOP | Border.LEFT),
            Square(index=348, row=12, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=349, row=12, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=350, row=12, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=351, row=12, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=352, row=12, column=16, border=Border.TOP | Border.RIGHT),
            Square(index=353, row=12, column=17, border=Border.TOP | Border.BOTTOM | Border.LEFT),
            Square(index=354, row=12, column=18, border=Border.TOP | Border.BOTTOM),
            Square(index=355, row=12, column=19, border=Border.BOTTOM | Border.RIGHT),
            Square(index=356, row=12, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=357, row=12, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=358, row=12, column=22, border=Border.LEFT | Border.RIGHT),
            Square(index=359, row=12, column=23, border=Border.LEFT | Border.RIGHT),
            Square(index=360, row=12, column=24, border=Border.LEFT | Border.RIGHT),
            Square(index=361, row=12, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=362, row=12, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=363, row=12, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=364, row=13, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=365, row=13, column=1, border=Border.BOTTOM | Border.LEFT),
            Square(index=366, row=13, column=2, border=Border.BOTTOM),
            Square(index=367, row=13, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=368, row=13, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=369, row=13, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=370, row=13, column=6, border=Border.TOP | Border.RIGHT),
            Square(index=371, row=13, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=372, row=13, column=8, border=Border.LEFT | Border.RIGHT),
            Square(index=373, row=13, column=9, border=Border.LEFT | Border.RIGHT),
            Square(index=374, row=13, column=10, border=Border.LEFT | Border.RIGHT),
            Square(index=375, row=13, column=11, border=Border.LEFT | Border.RIGHT),
            Square(index=376, row=13, column=12, border=Border.TOP | Border.LEFT, role=Role.EXTERIOR),
            Square(index=377, row=13, column=13, border=Border.TOP, role=Role.EXTERIOR),
            Square(index=378, row=13, column=14, border=Border.TOP, role=Role.EXTERIOR),
            Square(index=379, row=13, column=15, border=Border.TOP | Border.RIGHT, role=Role.EXTERIOR),
            Square(index=380, row=13, column=16, border=Border.LEFT | Border.RIGHT),
            Square(index=381, row=13, column=17, border=Border.TOP | Border.LEFT),
            Square(index=382, row=13, column=18, border=Border.TOP | Border.BOTTOM),
            Square(index=383, row=13, column=19, border=Border.TOP | Border.BOTTOM),
            Square(index=384, row=13, column=20, border=Border.BOTTOM | Border.RIGHT),
            Square(index=385, row=13, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=386, row=13, column=22, border=Border.LEFT | Border.RIGHT),
            Square(index=387, row=13, column=23, border=Border.BOTTOM | Border.LEFT),
            Square(index=388, row=13, column=24, border=Border.BOTTOM | Border.RIGHT),
            Square(index=389, row=13, column=25, border=Border.LEFT),
            Square(index=390, row=13, column=26, border=Border.BOTTOM),
            Square(index=391, row=13, column=27, border=Border.BOTTOM | Border.RIGHT),
            Square(index=392, row=14, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=393, row=14, column=1, border=Border.TOP | Border.LEFT),
            Square(index=394, row=14, column=2, border=Border.TOP | Border.BOTTOM),
            Square(index=395, row=14, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=396, row=14, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=397, row=14, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=398, row=14, column=6, border=Border.BOTTOM | Border.RIGHT),
            Square(index=399, row=14, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=400, row=14, column=8, border=Border.LEFT | Border.RIGHT),
            Square(index=401, row=14, column=9, border=Border.LEFT | Border.RIGHT),
            Square(index=402, row=14, column=10, border=Border.LEFT | Border.RIGHT),
            Square(index=403, row=14, column=11, border=Border.LEFT | Border.RIGHT),
            Square(index=404, row=14, column=12, border=Border.LEFT, role=Role.EXTERIOR),
            Square(index=405, row=14, column=13, border=Border.EMPTY, role=Role.EXTERIOR),
            Square(index=406, row=14, column=14, border=Border.EMPTY, role=Role.EXTERIOR),
            Square(index=407, row=14, column=15, border=Border.RIGHT, role=Role.EXTERIOR),
            Square(index=408, row=14, column=16, border=Border.LEFT | Border.RIGHT),
            Square(index=409, row=14, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=410, row=14, column=18, border=Border.TOP | Border.BOTTOM | Border.LEFT),
            Square(index=411, row=14, column=19, border=Border.TOP | Border.BOTTOM),
            Square(index=412, row=14, column=20, border=Border.TOP | Border.BOTTOM),
            Square(index=413, row=14, column=21, border=Border.RIGHT),
            Square(index=414, row=14, column=22, border=Border.BOTTOM | Border.LEFT),
            Square(index=415, row=14, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=416, row=14, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=417, row=14, column=25, border=Border.BOTTOM | Border.RIGHT),
            Square(index=418, row=14, column=26, border=Border.TOP | Border.LEFT),
            Square(index=419, row=14, column=27, border=Border.TOP | Border.RIGHT),
            Square(index=420, row=15, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=421, row=15, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=422, row=15, column=2, border=Border.TOP | Border.LEFT),
            Square(index=423, row=15, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=424, row=15, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=425, row=15, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=426, row=15, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=427, row=15, column=7, border=Border.BOTTOM | Border.RIGHT),
            Square(index=428, row=15, column=8, border=Border.LEFT | Border.RIGHT),
            Square(index=429, row=15, column=9, border=Border.LEFT | Border.RIGHT),
            Square(index=430, row=15, column=10, border=Border.LEFT | Border.RIGHT),
            Square(index=431, row=15, column=11, border=Border.LEFT | Border.RIGHT),
            Square(index=432, row=15, column=12, border=Border.LEFT, role=Role.EXTERIOR),
            Square(index=433, row=15, column=13, border=Border.EMPTY, role=Role.EXTERIOR),
            Square(index=434, row=15, column=14, border=Border.EMPTY, role=Role.EXTERIOR),
            Square(index=435, row=15, column=15, border=Border.RIGHT, role=Role.EXTERIOR),
            Square(index=436, row=15, column=16, border=Border.LEFT),
            Square(index=437, row=15, column=17, border=Border.RIGHT),
            Square(index=438, row=15, column=18, border=Border.TOP | Border.LEFT),
            Square(index=439, row=15, column=19, border=Border.TOP | Border.BOTTOM),
            Square(index=440, row=15, column=20, border=Border.TOP | Border.RIGHT),
            Square(index=441, row=15, column=21, border=Border.BOTTOM | Border.LEFT),
            Square(index=442, row=15, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=443, row=15, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=444, row=15, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=445, row=15, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=446, row=15, column=26, border=Border.BOTTOM | Border.RIGHT),
            Square(index=447, row=15, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=448, row=16, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=449, row=16, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=450, row=16, column=2, border=Border.LEFT | Border.RIGHT),
            Square(index=451, row=16, column=3, border=Border.TOP | Border.LEFT),
            Square(index=452, row=16, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=453, row=16, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=454, row=16, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=455, row=16, column=7, border=Border.TOP | Border.RIGHT),
            Square(index=456, row=16, column=8, border=Border.LEFT | Border.RIGHT),
            Square(index=457, row=16, column=9, border=Border.LEFT | Border.RIGHT),
            Square(index=458, row=16, column=10, border=Border.LEFT | Border.RIGHT),
            Square(index=459, row=16, column=11, border=Border.LEFT | Border.RIGHT),
            Square(index=460, row=16, column=12, border=Border.LEFT, role=Role.EXTERIOR),
            Square(index=461, row=16, column=13, border=Border.EMPTY, role=Role.EXTERIOR),
            Square(index=462, row=16, column=14, border=Border.EMPTY, role=Role.EXTERIOR),
            Square(index=463, row=16, column=15, border=Border.RIGHT, role=Role.EXTERIOR),
            Square(index=464, row=16, column=16, border=Border.LEFT | Border.RIGHT),
            Square(index=465, row=16, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=466, row=16, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=467, row=16, column=19, border=Border.TOP | Border.LEFT),
            Square(index=468, row=16, column=20, border=Border.BOTTOM),
            Square(index=469, row=16, column=21, border=Border.TOP | Border.BOTTOM),
            Square(index=470, row=16, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=471, row=16, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=472, row=16, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=473, row=16, column=25, border=Border.TOP),
            Square(index=474, row=16, column=26, border=Border.TOP | Border.RIGHT),
            Square(index=475, row=16, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=476, row=17, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=477, row=17, column=1, border=Border.BOTTOM | Border.LEFT),
            Square(index=478, row=17, column=2, border=Border.BOTTOM | Border.RIGHT),
            Square(index=479, row=17, column=3, border=Border.LEFT | Border.RIGHT),
            Square(index=480, row=17, column=4, border=Border.TOP | Border.LEFT),
            Square(index=481, row=17, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=482, row=17, column=6, border=Border.TOP | Border.RIGHT),
            Square(index=483, row=17, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=484, row=17, column=8, border=Border.LEFT | Border.RIGHT),
            Square(index=485, row=17, column=9, border=Border.LEFT | Border.RIGHT),
            Square(index=486, row=17, column=10, border=Border.LEFT | Border.RIGHT),
            Square(index=487, row=17, column=11, border=Border.LEFT | Border.RIGHT),
            Square(index=488, row=17, column=12, border=Border.BOTTOM | Border.LEFT, role=Role.EXTERIOR),
            Square(index=489, row=17, column=13, border=Border.EMPTY),
            Square(index=490, row=17, column=14, border=Border.EMPTY),
            Square(index=491, row=17, column=15, border=Border.BOTTOM | Border.RIGHT, role=Role.EXTERIOR),
            Square(index=492, row=17, column=16, border=Border.LEFT | Border.RIGHT),
            Square(index=493, row=17, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=494, row=17, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=495, row=17, column=19, border=Border.BOTTOM | Border.LEFT),
            Square(index=496, row=17, column=20, border=Border.TOP | Border.BOTTOM),
            Square(index=497, row=17, column=21, border=Border.TOP | Border.BOTTOM),
            Square(index=498, row=17, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=499, row=17, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=500, row=17, column=24, border=Border.TOP | Border.RIGHT),
            Square(index=501, row=17, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=502, row=17, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=503, row=17, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=504, row=18, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=505, row=18, column=1, border=Border.TOP | Border.LEFT),
            Square(index=506, row=18, column=2, border=Border.TOP),
            Square(index=507, row=18, column=3, border=Border.EMPTY),
            Square(index=508, row=18, column=4, border=Border.RIGHT),
            Square(index=509, row=18, column=5, border=Border.TOP | Border.LEFT | Border.RIGHT),
            Square(index=510, row=18, column=6, border=Border.LEFT | Border.RIGHT),
            Square(index=511, row=18, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=512, row=18, column=8, border=Border.LEFT | Border.RIGHT),
            Square(index=513, row=18, column=9, border=Border.LEFT | Border.RIGHT),
            Square(index=514, row=18, column=10, border=Border.LEFT | Border.RIGHT),
            Square(index=515, row=18, column=11, border=Border.BOTTOM | Border.LEFT),
            Square(index=516, row=18, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=517, row=18, column=13, border=Border.BOTTOM | Border.RIGHT),
            Square(index=518, row=18, column=14, border=Border.LEFT | Border.RIGHT),
            Square(index=519, row=18, column=15, border=Border.TOP | Border.BOTTOM | Border.LEFT),
            Square(index=520, row=18, column=16, border=Border.BOTTOM | Border.RIGHT),
            Square(index=521, row=18, column=17, border=Border.BOTTOM | Border.LEFT | Border.RIGHT),
            Square(index=522, row=18, column=18, border=Border.BOTTOM | Border.LEFT),
            Square(index=523, row=18, column=19, border=Border.TOP | Border.BOTTOM),
            Square(index=524, row=18, column=20, border=Border.TOP | Border.BOTTOM),
            Square(index=525, row=18, column=21, border=Border.TOP | Border.BOTTOM),
            Square(index=526, row=18, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=527, row=18, column=23, border=Border.TOP | Border.RIGHT),
            Square(index=528, row=18, column=24, border=Border.LEFT | Border.RIGHT),
            Square(index=529, row=18, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=530, row=18, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=531, row=18, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=532, row=19, column=0, border=Border.BOTTOM | Border.LEFT),
            Square(index=533, row=19, column=1, border=Border.BOTTOM | Border.RIGHT),
            Square(index=534, row=19, column=2, border=Border.LEFT | Border.RIGHT),
            Square(index=535, row=19, column=3, border=Border.LEFT | Border.RIGHT),
            Square(index=536, row=19, column=4, border=Border.LEFT | Border.RIGHT),
            Square(index=537, row=19, column=5, border=Border.BOTTOM | Border.LEFT),
            Square(index=538, row=19, column=6, border=Border.BOTTOM | Border.RIGHT),
            Square(index=539, row=19, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=540, row=19, column=8, border=Border.LEFT),
            Square(index=541, row=19, column=9, border=Border.RIGHT),
            Square(index=542, row=19, column=10, border=Border.BOTTOM | Border.LEFT),
            Square(index=543, row=19, column=11, border=Border.TOP | Border.BOTTOM),
            Square(index=544, row=19, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=545, row=19, column=13, border=Border.TOP | Border.BOTTOM | Border.RIGHT),
            Square(index=546, row=19, column=14, border=Border.LEFT | Border.RIGHT),
            Square(index=547, row=19, column=15, border=Border.TOP | Border.LEFT),
            Square(index=548, row=19, column=16, border=Border.TOP | Border.BOTTOM),
            Square(index=549, row=19, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=550, row=19, column=18, border=Border.TOP | Border.BOTTOM | Border.RIGHT),
            Square(index=551, row=19, column=19, border=Border.TOP | Border.BOTTOM | Border.LEFT),
            Square(index=552, row=19, column=20, border=Border.TOP | Border.BOTTOM),
            Square(index=553, row=19, column=21, border=Border.TOP | Border.BOTTOM),
            Square(index=554, row=19, column=22, border=Border.TOP | Border.RIGHT),
            Square(index=555, row=19, column=23, border=Border.LEFT | Border.RIGHT),
            Square(index=556, row=19, column=24, border=Border.LEFT | Border.RIGHT),
            Square(index=557, row=19, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=558, row=19, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=559, row=19, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=560, row=20, column=0, border=Border.TOP | Border.LEFT),
            Square(index=561, row=20, column=1, border=Border.TOP | Border.BOTTOM),
            Square(index=562, row=20, column=2, border=Border.BOTTOM | Border.RIGHT),
            Square(index=563, row=20, column=3, border=Border.LEFT | Border.RIGHT),
            Square(index=564, row=20, column=4, border=Border.BOTTOM | Border.LEFT),
            Square(index=565, row=20, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=566, row=20, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=567, row=20, column=7, border=Border.BOTTOM | Border.RIGHT),
            Square(index=568, row=20, column=8, border=Border.LEFT | Border.RIGHT),
            Square(index=569, row=20, column=9, border=Border.LEFT | Border.RIGHT),
            Square(index=570, row=20, column=10, border=Border.TOP | Border.LEFT),
            Square(index=571, row=20, column=11, border=Border.TOP | Border.BOTTOM),
            Square(index=572, row=20, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=573, row=20, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=574, row=20, column=14, border=Border.BOTTOM | Border.RIGHT),
            Square(index=575, row=20, column=15, border=Border.LEFT | Border.RIGHT),
            Square(index=576, row=20, column=16, border=Border.TOP | Border.LEFT),
            Square(index=577, row=20, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=578, row=20, column=18, border=Border.TOP | Border.BOTTOM),
            Square(index=579, row=20, column=19, border=Border.TOP | Border.BOTTOM),
            Square(index=580, row=20, column=20, border=Border.TOP | Border.BOTTOM),
            Square(index=581, row=20, column=21, border=Border.TOP | Border.RIGHT),
            Square(index=582, row=20, column=22, border=Border.LEFT | Border.RIGHT),
            Square(index=583, row=20, column=23, border=Border.LEFT | Border.RIGHT),
            Square(index=584, row=20, column=24, border=Border.LEFT | Border.RIGHT),
            Square(index=585, row=20, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=586, row=20, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=587, row=20, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=588, row=21, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=589, row=21, column=1, border=Border.TOP | Border.LEFT),
            Square(index=590, row=21, column=2, border=Border.TOP | Border.BOTTOM),
            Square(index=591, row=21, column=3, border=Border.BOTTOM | Border.RIGHT),
            Square(index=592, row=21, column=4, border=Border.TOP | Border.LEFT),
            Square(index=593, row=21, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=594, row=21, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=595, row=21, column=7, border=Border.TOP | Border.BOTTOM),
            Square(index=596, row=21, column=8, border=Border.BOTTOM | Border.RIGHT),
            Square(index=597, row=21, column=9, border=Border.LEFT | Border.RIGHT),
            Square(index=598, row=21, column=10, border=Border.LEFT | Border.RIGHT),
            Square(index=599, row=21, column=11, border=Border.TOP | Border.LEFT),
            Square(index=600, row=21, column=12, border=Border.TOP | Border.RIGHT),
            Square(index=601, row=21, column=13, border=Border.TOP | Border.LEFT),
            Square(index=602, row=21, column=14, border=Border.TOP | Border.RIGHT),
            Square(index=603, row=21, column=15, border=Border.LEFT | Border.RIGHT),
            Square(index=604, row=21, column=16, border=Border.LEFT | Border.RIGHT),
            Square(index=605, row=21, column=17, border=Border.TOP | Border.LEFT),
            Square(index=606, row=21, column=18, border=Border.TOP | Border.BOTTOM),
            Square(index=607, row=21, column=19, border=Border.TOP | Border.BOTTOM),
            Square(index=608, row=21, column=20, border=Border.TOP | Border.RIGHT),
            Square(index=609, row=21, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=610, row=21, column=22, border=Border.LEFT | Border.RIGHT),
            Square(index=611, row=21, column=23, border=Border.LEFT | Border.RIGHT),
            Square(index=612, row=21, column=24, border=Border.LEFT | Border.RIGHT),
            Square(index=613, row=21, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=614, row=21, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=615, row=21, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=616, row=22, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=617, row=22, column=1, border=Border.BOTTOM | Border.LEFT),
            Square(index=618, row=22, column=2, border=Border.TOP | Border.BOTTOM),
            Square(index=619, row=22, column=3, border=Border.TOP | Border.RIGHT),
            Square(index=620, row=22, column=4, border=Border.LEFT | Border.RIGHT),
            Square(index=621, row=22, column=5, border=Border.TOP | Border.LEFT),
            Square(index=622, row=22, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=623, row=22, column=7, border=Border.TOP | Border.BOTTOM),
            Square(index=624, row=22, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=625, row=22, column=9, border=Border.RIGHT),
            Square(index=626, row=22, column=10, border=Border.LEFT | Border.RIGHT),
            Square(index=627, row=22, column=11, border=Border.LEFT | Border.RIGHT),
            Square(index=628, row=22, column=12, border=Border.LEFT | Border.RIGHT),
            Square(index=629, row=22, column=13, border=Border.LEFT | Border.RIGHT),
            Square(index=630, row=22, column=14, border=Border.LEFT | Border.RIGHT),
            Square(index=631, row=22, column=15, border=Border.LEFT | Border.RIGHT),
            Square(index=632, row=22, column=16, border=Border.LEFT | Border.RIGHT),
            Square(index=633, row=22, column=17, border=Border.BOTTOM | Border.LEFT),
            Square(index=634, row=22, column=18, border=Border.TOP | Border.RIGHT),
            Square(index=635, row=22, column=19, border=Border.TOP | Border.LEFT),
            Square(index=636, row=22, column=20, border=Border.BOTTOM | Border.RIGHT),
            Square(index=637, row=22, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=638, row=22, column=22, border=Border.LEFT | Border.RIGHT),
            Square(index=639, row=22, column=23, border=Border.LEFT),
            Square(index=640, row=22, column=24, border=Border.RIGHT),
            Square(index=641, row=22, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=642, row=22, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=643, row=22, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=644, row=23, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=645, row=23, column=1, border=Border.TOP | Border.BOTTOM | Border.LEFT),
            Square(index=646, row=23, column=2, border=Border.TOP | Border.BOTTOM),
            Square(index=647, row=23, column=3, border=Border.BOTTOM | Border.RIGHT),
            Square(index=648, row=23, column=4, border=Border.LEFT | Border.RIGHT),
            Square(index=649, row=23, column=5, border=Border.LEFT),
            Square(index=650, row=23, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=651, row=23, column=7, border=Border.TOP | Border.BOTTOM),
            Square(index=652, row=23, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=653, row=23, column=9, border=Border.BOTTOM | Border.RIGHT),
            Square(index=654, row=23, column=10, border=Border.LEFT | Border.RIGHT),
            Square(index=655, row=23, column=11, border=Border.LEFT | Border.RIGHT),
            Square(index=656, row=23, column=12, border=Border.LEFT | Border.RIGHT),
            Square(index=657, row=23, column=13, border=Border.LEFT | Border.RIGHT),
            Square(index=658, row=23, column=14, border=Border.LEFT | Border.RIGHT),
            Square(index=659, row=23, column=15, border=Border.BOTTOM | Border.LEFT),
            Square(index=660, row=23, column=16, border=Border.EMPTY),
            Square(index=661, row=23, column=17, border=Border.TOP | Border.RIGHT),
            Square(index=662, row=23, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=663, row=23, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=664, row=23, column=20, border=Border.TOP | Border.LEFT),
            Square(index=665, row=23, column=21, border=Border.RIGHT),
            Square(index=666, row=23, column=22, border=Border.LEFT | Border.RIGHT),
            Square(index=667, row=23, column=23, border=Border.LEFT | Border.RIGHT),
            Square(index=668, row=23, column=24, border=Border.BOTTOM | Border.LEFT),
            Square(index=669, row=23, column=25, border=Border.BOTTOM | Border.RIGHT),
            Square(index=670, row=23, column=26, border=Border.BOTTOM | Border.LEFT),
            Square(index=671, row=23, column=27, border=Border.BOTTOM | Border.RIGHT),
            Square(index=672, row=24, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=673, row=24, column=1, border=Border.TOP | Border.LEFT | Border.RIGHT),
            Square(index=674, row=24, column=2, border=Border.TOP | Border.LEFT),
            Square(index=675, row=24, column=3, border=Border.TOP | Border.RIGHT),
            Square(index=676, row=24, column=4, border=Border.LEFT | Border.RIGHT),
            Square(index=677, row=24, column=5, border=Border.LEFT | Border.RIGHT),
            Square(index=678, row=24, column=6, border=Border.TOP | Border.LEFT),
            Square(index=679, row=24, column=7, border=Border.TOP | Border.BOTTOM),
            Square(index=680, row=24, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=681, row=24, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=682, row=24, column=10, border=Border.BOTTOM | Border.RIGHT),
            Square(index=683, row=24, column=11, border=Border.LEFT | Border.RIGHT),
            Square(index=684, row=24, column=12, border=Border.LEFT | Border.RIGHT),
            Square(index=685, row=24, column=13, border=Border.LEFT | Border.RIGHT),
            Square(index=686, row=24, column=14, border=Border.LEFT),
            Square(index=687, row=24, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=688, row=24, column=16, border=Border.BOTTOM | Border.RIGHT),
            Square(index=689, row=24, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=690, row=24, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=691, row=24, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=692, row=24, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=693, row=24, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=694, row=24, column=22, border=Border.LEFT | Border.RIGHT),
            Square(index=695, row=24, column=23, border=Border.BOTTOM | Border.LEFT),
            Square(index=696, row=24, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=697, row=24, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=698, row=24, column=26, border=Border.TOP | Border.BOTTOM),
            Square(index=699, row=24, column=27, border=Border.TOP | Border.RIGHT),
            Square(index=700, row=25, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=701, row=25, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=702, row=25, column=2, border=Border.LEFT | Border.RIGHT),
            Square(index=703, row=25, column=3, border=Border.BOTTOM | Border.LEFT),
            Square(index=704, row=25, column=4, border=Border.BOTTOM | Border.RIGHT),
            Square(index=705, row=25, column=5, border=Border.LEFT | Border.RIGHT),
            Square(index=706, row=25, column=6, border=Border.LEFT | Border.RIGHT),
            Square(index=707, row=25, column=7, border=Border.TOP | Border.LEFT),
            Square(index=708, row=25, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=709, row=25, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=710, row=25, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=711, row=25, column=11, border=Border.BOTTOM | Border.RIGHT),
            Square(index=712, row=25, column=12, border=Border.BOTTOM | Border.LEFT),
            Square(index=713, row=25, column=13, border=Border.BOTTOM | Border.RIGHT),
            Square(index=714, row=25, column=14, border=Border.BOTTOM | Border.LEFT),
            Square(index=715, row=25, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=716, row=25, column=16, border=Border.TOP | Border.RIGHT),
            Square(index=717, row=25, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=718, row=25, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=719, row=25, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=720, row=25, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=721, row=25, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=722, row=25, column=22, border=Border.LEFT),
            Square(index=723, row=25, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=724, row=25, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=725, row=25, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=726, row=25, column=26, border=Border.TOP | Border.RIGHT),
            Square(index=727, row=25, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=728, row=26, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=729, row=26, column=1, border=Border.LEFT),
            Square(index=730, row=26, column=2, border=Border.BOTTOM),
            Square(index=731, row=26, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=732, row=26, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=733, row=26, column=5, border=Border.BOTTOM | Border.RIGHT),
            Square(index=734, row=26, column=6, border=Border.LEFT | Border.RIGHT),
            Square(index=735, row=26, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=736, row=26, column=8, border=Border.TOP | Border.LEFT),
            Square(index=737, row=26, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=738, row=26, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=739, row=26, column=11, border=Border.TOP),
            Square(index=740, row=26, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=741, row=26, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=742, row=26, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=743, row=26, column=15, border=Border.TOP | Border.RIGHT),
            Square(index=744, row=26, column=16, border=Border.LEFT | Border.RIGHT),
            Square(index=745, row=26, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=746, row=26, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=747, row=26, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=748, row=26, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=749, row=26, column=21, border=Border.LEFT),
            Square(index=750, row=26, column=22, border=Border.EMPTY),
            Square(index=751, row=26, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=752, row=26, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=753, row=26, column=25, border=Border.TOP | Border.BOTTOM),
            Square(index=754, row=26, column=26, border=Border.RIGHT),
            Square(index=755, row=26, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=756, row=27, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=757, row=27, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=758, row=27, column=2, border=Border.TOP | Border.LEFT),
            Square(index=759, row=27, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=760, row=27, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=761, row=27, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=762, row=27, column=6, border=Border.BOTTOM | Border.RIGHT),
            Square(index=763, row=27, column=7, border=Border.LEFT | Border.RIGHT),
            Square(index=764, row=27, column=8, border=Border.LEFT | Border.RIGHT),
            Square(index=765, row=27, column=9, border=Border.TOP | Border.BOTTOM | Border.LEFT),
            Square(index=766, row=27, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=767, row=27, column=11, border=Border.BOTTOM),
            Square(index=768, row=27, column=12, border=Border.TOP | Border.BOTTOM),
            Square(index=769, row=27, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=770, row=27, column=14, border=Border.TOP | Border.RIGHT),
            Square(index=771, row=27, column=15, border=Border.LEFT | Border.RIGHT),
            Square(index=772, row=27, column=16, border=Border.LEFT | Border.RIGHT),
            Square(index=773, row=27, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=774, row=27, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=775, row=27, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=776, row=27, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=777, row=27, column=21, border=Border.LEFT | Border.RIGHT),
            Square(index=778, row=27, column=22, border=Border.BOTTOM | Border.LEFT),
            Square(index=779, row=27, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=780, row=27, column=24, border=Border.TOP | Border.BOTTOM),
            Square(index=781, row=27, column=25, border=Border.TOP | Border.RIGHT),
            Square(index=782, row=27, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=783, row=27, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=784, row=28, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=785, row=28, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=786, row=28, column=2, border=Border.LEFT | Border.RIGHT),
            Square(index=787, row=28, column=3, border=Border.TOP | Border.BOTTOM | Border.LEFT),
            Square(index=788, row=28, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=789, row=28, column=5, border=Border.TOP | Border.BOTTOM),
            Square(index=790, row=28, column=6, border=Border.TOP | Border.BOTTOM),
            Square(index=791, row=28, column=7, border=Border.EMPTY),
            Square(index=792, row=28, column=8, border=Border.EMPTY),
            Square(index=793, row=28, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=794, row=28, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=795, row=28, column=11, border=Border.TOP | Border.BOTTOM),
            Square(index=796, row=28, column=12, border=Border.TOP),
            Square(index=797, row=28, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=798, row=28, column=14, border=Border.BOTTOM | Border.RIGHT),
            Square(index=799, row=28, column=15, border=Border.LEFT | Border.RIGHT),
            Square(index=800, row=28, column=16, border=Border.BOTTOM | Border.LEFT | Border.RIGHT),
            Square(index=801, row=28, column=17, border=Border.LEFT | Border.RIGHT),
            Square(index=802, row=28, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=803, row=28, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=804, row=28, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=805, row=28, column=21, border=Border.BOTTOM | Border.LEFT),
            Square(index=806, row=28, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=807, row=28, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=808, row=28, column=24, border=Border.TOP | Border.RIGHT),
            Square(index=809, row=28, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=810, row=28, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=811, row=28, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=812, row=29, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=813, row=29, column=1, border=Border.LEFT | Border.RIGHT),
            Square(index=814, row=29, column=2, border=Border.BOTTOM | Border.LEFT),
            Square(index=815, row=29, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=816, row=29, column=4, border=Border.TOP | Border.BOTTOM),
            Square(index=817, row=29, column=5, border=Border.TOP | Border.RIGHT),
            Square(index=818, row=29, column=6, border=Border.TOP | Border.LEFT),
            Square(index=819, row=29, column=7, border=Border.RIGHT),
            Square(index=820, row=29, column=8, border=Border.BOTTOM | Border.LEFT),
            Square(index=821, row=29, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=822, row=29, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=823, row=29, column=11, border=Border.TOP | Border.RIGHT),
            Square(index=824, row=29, column=12, border=Border.BOTTOM | Border.LEFT),
            Square(index=825, row=29, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=826, row=29, column=14, border=Border.TOP | Border.RIGHT),
            Square(index=827, row=29, column=15, border=Border.BOTTOM | Border.LEFT),
            Square(index=828, row=29, column=16, border=Border.TOP | Border.RIGHT),
            Square(index=829, row=29, column=17, border=Border.BOTTOM | Border.LEFT | Border.RIGHT),
            Square(index=830, row=29, column=18, border=Border.LEFT | Border.RIGHT),
            Square(index=831, row=29, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=832, row=29, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=833, row=29, column=21, border=Border.TOP | Border.LEFT),
            Square(index=834, row=29, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=835, row=29, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=836, row=29, column=24, border=Border.BOTTOM | Border.RIGHT),
            Square(index=837, row=29, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=838, row=29, column=26, border=Border.LEFT | Border.RIGHT),
            Square(index=839, row=29, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=840, row=30, column=0, border=Border.LEFT | Border.RIGHT),
            Square(index=841, row=30, column=1, border=Border.BOTTOM | Border.LEFT),
            Square(index=842, row=30, column=2, border=Border.TOP | Border.BOTTOM),
            Square(index=843, row=30, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=844, row=30, column=4, border=Border.TOP | Border.RIGHT),
            Square(index=845, row=30, column=5, border=Border.LEFT | Border.RIGHT),
            Square(index=846, row=30, column=6, border=Border.LEFT | Border.RIGHT),
            Square(index=847, row=30, column=7, border=Border.BOTTOM | Border.LEFT),
            Square(index=848, row=30, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=849, row=30, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=850, row=30, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=851, row=30, column=11, border=Border.RIGHT),
            Square(index=852, row=30, column=12, border=Border.TOP | Border.LEFT),
            Square(index=853, row=30, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=854, row=30, column=14, border=Border.BOTTOM),
            Square(index=855, row=30, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=856, row=30, column=16, border=Border.BOTTOM),
            Square(index=857, row=30, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=858, row=30, column=18, border=Border.BOTTOM | Border.RIGHT),
            Square(index=859, row=30, column=19, border=Border.LEFT | Border.RIGHT),
            Square(index=860, row=30, column=20, border=Border.LEFT | Border.RIGHT),
            Square(index=861, row=30, column=21, border=Border.BOTTOM | Border.LEFT),
            Square(index=862, row=30, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=863, row=30, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=864, row=30, column=24, border=Border.TOP | Border.RIGHT),
            Square(index=865, row=30, column=25, border=Border.LEFT | Border.RIGHT),
            Square(index=866, row=30, column=26, border=Border.BOTTOM | Border.LEFT | Border.RIGHT),
            Square(index=867, row=30, column=27, border=Border.LEFT | Border.RIGHT),
            Square(index=868, row=31, column=0, border=Border.BOTTOM | Border.LEFT),
            Square(index=869, row=31, column=1, border=Border.TOP | Border.BOTTOM),
            Square(index=870, row=31, column=2, border=Border.TOP | Border.BOTTOM),
            Square(index=871, row=31, column=3, border=Border.TOP | Border.BOTTOM),
            Square(index=872, row=31, column=4, border=Border.BOTTOM | Border.RIGHT),
            Square(index=873, row=31, column=5, border=Border.LEFT | Border.RIGHT, role=Role.EXIT),
            Square(index=874, row=31, column=6, border=Border.BOTTOM | Border.LEFT),
            Square(index=875, row=31, column=7, border=Border.TOP | Border.BOTTOM),
            Square(index=876, row=31, column=8, border=Border.TOP | Border.BOTTOM),
            Square(index=877, row=31, column=9, border=Border.TOP | Border.BOTTOM),
            Square(index=878, row=31, column=10, border=Border.TOP | Border.BOTTOM),
            Square(index=879, row=31, column=11, border=Border.BOTTOM),
            Square(index=880, row=31, column=12, border=Border.BOTTOM),
            Square(index=881, row=31, column=13, border=Border.TOP | Border.BOTTOM),
            Square(index=882, row=31, column=14, border=Border.TOP | Border.BOTTOM),
            Square(index=883, row=31, column=15, border=Border.TOP | Border.BOTTOM),
            Square(index=884, row=31, column=16, border=Border.TOP | Border.BOTTOM),
            Square(index=885, row=31, column=17, border=Border.TOP | Border.BOTTOM),
            Square(index=886, row=31, column=18, border=Border.TOP, role=Role.ENTRANCE),
            Square(index=887, row=31, column=19, border=Border.BOTTOM | Border.RIGHT),
            Square(index=888, row=31, column=20, border=Border.BOTTOM | Border.LEFT),
            Square(index=889, row=31, column=21, border=Border.TOP | Border.BOTTOM),
            Square(index=890, row=31, column=22, border=Border.TOP | Border.BOTTOM),
            Square(index=891, row=31, column=23, border=Border.TOP | Border.BOTTOM),
            Square(index=892, row=31, column=24, border=Border.BOTTOM | Border.RIGHT),
            Square(index=893, row=31, column=25, border=Border.BOTTOM | Border.LEFT),
            Square(index=894, row=31, column=26, border=Border.TOP | Border.BOTTOM),
            Square(index=895, row=31, column=27, border=Border.BOTTOM | Border.RIGHT),
        )
    )


if __name__ == "__main__":
    main()
